#include <stdio.h>
int chess[12][12]={0};
int Move[8][2]={{1,-2},{2,-1},{2,1},{1,2},{-1,2},{-2,1},{-2,-1},{-1,-2}};
int cnt;
int num=0;

void Print(){
	for (int i=2;i<10;i++){
		 for (int j=2;j<10;j++)
		 	printf("%3d",chess[i][j]);
		 printf("\n");
	}
	num++;
	printf("\n");
}

void Horse(int x,int y){
	int a,b;
	for (int i=0;i<8;i++){
		a=x+Move[i][0];
		b=y+Move[i][1];
		if (!chess[a][b]){
			chess[a][b]=++cnt;
			if (cnt<64) 
				Horse(a,b);
			else {Print(); if (num==10)  scanf("%d",&cnt);}
			chess[a][b]=0;
			cnt--;
		}
	} 
}

int main(void){
	int i,j;
	for (i=0;i<12;i++) 
		for (j=0;j<12;j++)
			if (i<2 || i>9 || j<2 || j>9)
				chess[i][j]=-1;
	chess[2][2]=cnt=1;
	Horse(2,2);
	return 0;
}

